Final Project Report: JavaSpaces Analysis
نویسنده
چکیده
For programming distributed systems it is very convenient to have shared memory that can be accessed by cooperating processes. The abstraction of a commonly usable storage greatly simplifies programming a distributed system, because the developer does not need to bother about the difficulties that are inherent in the distribution, such as message ordering or syncrony of memory accesses. Distributed shared memory provides temporal and spatial decoupling of the cooperating processes: The processes do not need to have overlapping lifetimes, and they do not need to know each other’s identities. These principles will be discussed later in this project report. One instance of distributed shared memory are tuple spaces. A tuple space is an unordered bag of tuples, which can be accessed associatively. A tuple is – like a data structure – a composite data type that consists of elementary data types, such as integers or strings, so it is basically the same as a mathematical tuple. In a tuple space arbitrary tuples can be stored, i.e. the space is not limited to tuples of the same type. Like stated above, a tuple space is content addressable memory. Tuples can be stored in the space, and they can be taken from the tuple space by using pattern matching. For this pattern matching any tuple that matches a specified template is taken from the tuple space. It is important to note that storing and removing tuples are the only operations that are allowed on tuple spaces, and the modification of a tuple within the space is not possible. Examples of tuple spaces are Linda, FT-Linda, PLinda, and JavaSpaces. The concept of tuple spaces was first introduced with the Linda programming and coordination language [Gel85]. It was designed for distributed parallel programs, i.e. replicated workers that work on partial problems of a task and are coordinated by a master. FT-Linda and PLinda are extensions of Linda that augment Linda primitives with fault tolerant extensions. Linda’s problem is that it cannot handle failed processes, such as failed workers or a failed master. Tuples can be lost if they are withdrawn from the space by a process and the process crahes right after that. FT-Linda and PLinda provide means to remedy this problem. JavaSpaces [FHA99] is one of the services provided by Jini [OW00]. It allows to hold Java objects with methods and attributes as entries in the tuple space, which is called JavaSpace.
منابع مشابه
On the Use of Multivariate Regression for Performance Characterisation of JavaSpaces
This paper discusses research results on the performance characterisation of JavaSpaces. Whereas Design of Experiments provides a technique to obtain response surface models of second order with as few experiments as possible, the construction of higher order models makes more precise predictions possible. Analysis of Variance is iteratively used in combination with Linear Regression to obtain ...
متن کاملUsing JavaSpaces to create adaptive distributed systems
JavaSpaces’ support for asynchronous and loosely coupled communication can be used to simplify creation of advanced services in dynamic network-centric environments. In such environments clients and services come and go all the time and system-components may dynamically be added and removed. This paper describes how JavaSpaces can be utilized to create adaptive distributed systems. We present a...
متن کاملA Performance Evaluation of Distributed Algorithms on Shared Memory and Message Passing Middleware Platforms
The fundamental characteristics of a distributed computing environment are heterogeneity, partial failure, latency and difficulty of “gluing together” multiple, independent processes into a robust, scalable application. JavaSpaces, which is a shared memory paradigm, provides high-level coordination mechanism for Java easing the burden of creating distributed applications. A large class of distr...
متن کاملDeveloping a Theoretical and Operational Knowledge Audit Model for Project- Based Organizations
Background/aim. Considering the underlying role played by knowledge management in project-based organizations; and, the fact that knowledge audit is the most important step in supplying, maintaining and updating the content of knowledge management systems; this research effort is aimed at designing an appropriate knowledge audit model based on the requirements and factors of knowledge audit in ...
متن کاملGrid Computation via Javaspaces of the First Order Least Squares Fem
A distributed finite element method (FEM) solver using Sun’s JavaSpaces technology was implemented and tested on a heterogeneous mix of computers including laptops, desktops and SMPs running MS Windows, Linux and Unix operating systems. Test problems in 2 and 3 dimensions were solved using a distributed iterative conjugate gradient method.
متن کامل